package com.effectivsocial.rest.service;
/**
 * 
 */


import java.util.List;
import lombok.AllArgsConstructor;
import org.springframework.social.twitter.api.BlockOperations;
import org.springframework.social.twitter.api.Twitter;
import org.springframework.social.twitter.api.TwitterProfile;

/**
 * @author Dhrubo
 *
 */
@AllArgsConstructor
public class TwitterBlockOperationsService implements BlockOperations {
	
	
	private Twitter twitter;

	/* (non-Javadoc)
	 * @see org.springframework.social.twitter.api.BlockOperations#block(long)
	 */
	public TwitterProfile block(long userId) {
		return twitter.blockOperations().block(userId);
	}

	/* (non-Javadoc)
	 * @see org.springframework.social.twitter.api.BlockOperations#block(java.lang.String)
	 */
	public TwitterProfile block(String screenName) {
		return twitter.blockOperations().block(screenName);
	}

	/* (non-Javadoc)
	 * @see org.springframework.social.twitter.api.BlockOperations#getBlockedUserIds()
	 */
	public List<Long> getBlockedUserIds() {
		return twitter.blockOperations().getBlockedUserIds();
	}

	/* (non-Javadoc)
	 * @see org.springframework.social.twitter.api.BlockOperations#getBlockedUsers()
	 */
	public List<TwitterProfile> getBlockedUsers() {
		return twitter.blockOperations().getBlockedUsers();
	}

	/* (non-Javadoc)
	 * @see org.springframework.social.twitter.api.BlockOperations#getBlockedUsers(int, int)
	 */
	public List<TwitterProfile> getBlockedUsers(int page, int pageSize) {
		return twitter.blockOperations().getBlockedUsers(page, pageSize);
	}

	/* (non-Javadoc)
	 * @see org.springframework.social.twitter.api.BlockOperations#isBlocking(long)
	 */
	public boolean isBlocking(long userId) {
		return twitter.blockOperations().isBlocking(userId);
	}

	/* (non-Javadoc)
	 * @see org.springframework.social.twitter.api.BlockOperations#isBlocking(java.lang.String)
	 */
	public boolean isBlocking(String screenName) {
		return twitter.blockOperations().isBlocking(screenName);
	}

	/* (non-Javadoc)
	 * @see org.springframework.social.twitter.api.BlockOperations#unblock(long)
	 */
	public TwitterProfile unblock(long userId) {
		return twitter.blockOperations().unblock(userId);
	}

	/* (non-Javadoc)
	 * @see org.springframework.social.twitter.api.BlockOperations#unblock(java.lang.String)
	 */
	public TwitterProfile unblock(String screenName) {
		return twitter.blockOperations().unblock(screenName);
	}

}
